---
title: Daytona MCPサーバー
---

import { TabItem, Tabs } from '@astrojs/starlight/components'

Daytona Model Context Protocol (MCP) サーバーは、AIエージェントがDaytonaの機能にプログラムからアクセスし、操作できるようにします。本ガイドでは、各種AIエージェントでMCPサーバーをセットアップして利用する方法を解説します。

## 前提条件

開始する前に、以下を用意してください:

- Daytona アカウント
- Daytona CLI がインストールされていること
- 互換性のある AI エージェント（Claude Desktop App、Claude Code、Cursor、または Windsurf）

## インストールとセットアップ

### 1. Daytona CLI のインストール

<Tabs syncKey="os">
<TabItem label="Mac/Linux">
```bash
brew install daytonaio/cli/daytona
```

</TabItem>
<TabItem label="Windows">
```bash
powershell -Command "irm https://get.daytona.io/windows | iex"
```
</TabItem>
</Tabs>

### 2. Daytona に認証する

```bash
daytona login
```

### 3. MCPサーバーを初期化

使用するAIエージェントで Daytona の MCPサーバーを初期化します:

```bash
daytona mcp init [claude/cursor/windsurf]
```

### 4. AIエージェントを起動

初期化後、AIエージェントのアプリケーションを起動して、Daytona の機能の利用を開始します。

## 他のAIエージェントとの統合

Daytona MCP を他のAIエージェントと統合するには、次の手順に従ってください。

1. MCP の設定を生成します:

```bash
daytona mcp config
```

このコマンドは、エージェントの設定にコピーできる JSON 設定を出力します:

```json
{
  "mcpServers": {
    "daytona-mcp": {
      "command": "daytona",
      "args": ["mcp", "start"],
      "env": {
        "HOME": "${HOME}",
        "PATH": "${HOME}:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/homebrew/bin"
      },
      "logFile": "${HOME}/Library/Logs/daytona/daytona-mcp-server.log"
    }
  }
}
```

:::note
Windows ユーザーは、`env` フィールドに次を追加してください:

```json
"APPDATA": "${APPDATA}"
```

:::

2. 設定を反映するため、AI エージェントを開き直すか再起動します。

## 利用可能なツール

### サンドボックス管理

- **サンドボックスの作成**

  - 新しい Daytona サンドボックスを作成します
  - パラメータ:
    - `target` (default: "us"): ターゲット (リージョン)
    - `snapshot`: サンドボックス用のスナップショット (任意)
    - `auto_stop_interval` (default: "15"): 自動停止までの分数 (0 で無効)
    - `auto_archive_interval` (default: "10080"): 自動アーカイブまでの分数 (0 の場合は最大間隔が適用)

- **サンドボックスの破棄**
  - 既存の Daytona サンドボックスを削除します

### ファイル操作

- **ファイルのダウンロード**

  - Daytona サンドボックスからファイルをダウンロードします
  - コンテンツをテキストまたは base64 エンコード画像として返します
  - パラメータ:
    - `file_path`: ファイルパス

- **ファイルのアップロード**

  - Daytona サンドボックスにファイルをアップロードします
  - テキストまたは base64 エンコードのバイナリをサポート
  - 必要な親ディレクトリを自動作成
  - 適切な権限でセッション中はファイルを保持
  - 上書き制御をサポートし、元のファイル形式を維持
  - パラメータ:
    - `file_path`: アップロードするファイルのパス
    - `content`: アップロードするファイルの内容
    - `encoding`: アップロードするファイルのエンコーディング
    - `overwrite`: 既存の場合に上書きするか

- **フォルダーの作成**

  - サンドボックスに新しいディレクトリを作成します
  - パラメータ:
    - `folder_path`: 作成するパス
    - `mode`: ディレクトリのパーミッション (default: 0755)

- **ファイル情報の取得**

  - ファイル情報を取得します
  - パラメータ:
    - `file_path`: ファイルパス

- **ファイル一覧**

  - ディレクトリの内容を一覧表示します
  - パラメータ:
    - `path`: ディレクトリパス (デフォルトはカレントディレクトリ)

- **ファイルの移動**

  - ファイルを移動またはリネームします
  - パラメータ:
    - `source_path`: ソースの場所
    - `dest_path`: 移動先の場所

- **ファイルの削除**
  - ファイルまたはディレクトリを削除します
  - パラメータ:
    - `file_path`: 削除対象のパス

### プレビュー

- **プレビューリンク**
  - Web アプリケーション向けにアクセス可能なプレビュー URL を生成します
  - ローカルポートを外部に公開するための安全なトンネルを作成
  - 指定ポートのサーバー稼働状況を検証
  - トラブルシューティング用の診断情報を提供
  - サービス整理のためのカスタム説明とメタデータをサポート
  - パラメータ:
    - `port`: 公開するポート
    - `description`: サービスの説明
    - `check_server`: ポートでサーバーが稼働中かを確認

### Git 操作

- **Git Clone**
  - Git リポジトリをクローンします
  - パラメータ:
    - `url`: リポジトリの URL
    - `path`: ターゲットディレクトリ (デフォルトはカレント)
    - `branch`: クローンするブランチ
    - `commit_id`: クローンする特定のコミット
    - `username`: Git ユーザー名
    - `password`: Git パスワード

### コマンド実行

- **コマンドの実行**
  - Daytona 環境でシェルコマンドを実行します
  - stdout、stderr、終了コードを返します
  - コマンドはサンドボックスユーザー権限で実行されます
  - パラメータ:
    - `command`: 実行するコマンド

## トラブルシューティング

一般的な問題と解決策:

- **認証の問題**

  - 資格情報を更新するために `daytona login` を実行する

- **接続エラー**

  - MCPサーバーの構成を確認する
  - サーバーのステータスを確認する

- **サンドボックスのエラー**
  - `daytona sandbox list` を使用してサンドボックスのステータスを確認する

## サポート

サポートが必要な場合は、次をご利用ください:

- [daytona.io](https://daytona.io) をご覧ください
- support@daytona.io までお問い合わせください
